package com.galaxy.coupon.domain.convert;

import com.galaxy.coupon.domain.CouponTemplate;
import com.galaxy.coupon.domain.bo.CouponTemplateBo;
import com.galaxy.coupon.domain.vo.CouponTemplateVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 优惠券模板对象转换器
 */
@Mapper
public interface CouponTemplateConvert {
    CouponTemplateConvert INSTANCE = Mappers.getMapper(CouponTemplateConvert.class);

    /**
     * 实体转BO
     */
    CouponTemplateBo convert(CouponTemplate bean);

    /**
     * 实体列表转BO列表
     */
    List<CouponTemplateBo> convertList(List<CouponTemplate> list);

    /**
     * 实体转VO
     */
    CouponTemplateVo convertVo(CouponTemplate bean);

    /**
     * 实体列表转VO列表
     */
    List<CouponTemplateVo> convertVoList(List<CouponTemplate> list);

    /**
     * BO转实体
     */
    CouponTemplate convert(CouponTemplateBo bo);

    /**
     * BO列表转实体列表
     */
    List<CouponTemplate> convertListBo(List<CouponTemplateBo> list);

    /**
     * VO转BO
     */
    CouponTemplateBo convert(CouponTemplateVo vo);
}